home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / c / sozobon / sozlib15.zoo / sozdistr / include / xdlibs / support.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-28  |  3.2 KB  |  95 lines

  1. /* 
  2.  * @(#)support.h, SozobonX, 1995/01/12, XdLibs include file, (c) Jerry Geiger
  3.  *
  4.  * prototypes for miscellaneous variables and functions in the library
  5.  *
  6.  * included by stdlib.h if _SUPPORT_H is not defined
  7.  * new in oct 1994
  8.  */
  9.  
  10. #ifndef _SUPPORT_H
  11. #define    _SUPPORT_H 1
  12.  
  13.     /* some library dependent stuff:
  14.      *   these variables are evaluated usually by startup code
  15.      */
  16. extern    short    _tos;    /* TOS version, maybe 0 e.g. for MagiC !*/
  17. extern    short    _mint;    /* -1, 0 or MiNT version number    */
  18. extern    short    _magx;    /* -1, 0 or MagiC version number    */
  19. extern    short    _geneva;/* -1, 0 or Geneva version number    */
  20.  
  21. extern    short    _app;     /* 0/FALSE if process is an Accessory    */
  22.  
  23.  
  24. extern    char    *itoa(short n, char *buffer, int radix);
  25. extern    char    *ltoa(long n, char *buffer, int radix);
  26. extern    char    *ultoa(unsigned long n, char *buffer, int radix);
  27.  
  28. extern  char        *ctlcnv();
  29.  
  30. /*
  31.  * some Sozobon specials
  32.  */
  33. extern    long    teststack(void);
  34.  
  35. extern    char    *strncpy2(char *dst, char *src, int n);
  36.             /* always add a NULL byte to dest */
  37. extern    char    *strncat2(char *dst, char *src, int n);
  38.             /* cat str dst and src into dest to max n bytes length in total    */
  39.  
  40. /* copy or cat all scr* strings to/with dest up to len bytes in total */
  41. extern char    *strsncat( char *dest, unsigned int len, char *src1, ...);
  42.                     /* arglist ends with NULL    */
  43. extern char    *strsncpy( char *dest, unsigned int len, char *src1, ...);
  44.                     /* arglist ends with NULL    */
  45.  
  46. /* faster but larger routines than strcpy, strcat    */
  47. extern     char    *strcpyf(char *dest, char *src);
  48. extern  char    *strcatf(char *dest, char *src);
  49. /* you may want to use defines to get them used insted of strcpy ot strcat */
  50.  
  51. extern    void    memswap(char *p1, char *p2, int len);
  52. extern    char    *strdcat(char *str1, char *str2); 
  53.                 /* malloc the space needed and cat str1 & str2 there */
  54.  
  55. extern    char    *strvcat(int args, char *dest, char *scr1, ...);
  56. extern    char    *strvcpy(int args, char *dest, char *scr1, ...);
  57.                 /* copy/cat args-1  strings to/with dest */
  58.  
  59. extern    int    strcstrp(char *string, char ch);
  60. extern    int    strwrap(char *dest, char *src, int len);
  61. extern    int    strblk(char *string, int len);
  62. extern    void    swab(const char *src, char *dst, size_t len);
  63.  
  64. /*
  65.  * some more Sozobon specials
  66.  */
  67. extern    char    *basename(char *path);
  68. extern    char    *suffix(char* path);
  69. extern    int    wild(char *totest, char *pattern);
  70. extern    char    *fullpath(char *full, char *part);
  71. extern  char    *wildcard(), *tempnam();
  72. extern    char    *_splitpath(char *src, char *drive, char *path,
  73.                 char *file, char *ext);
  74. extern  char    *_makepath(char *, char *, char *, char *, char *);
  75. extern    char    *findfile(char *afn, char *ext); /* ext maybe NULL, too */
  76. extern    char    *pfindfile(char *path, char *afn, char *ext);
  77.  
  78. extern    void    hsort(char *base, size_t num, size_t size, int (*cmp)());
  79. extern    char    *lfind(char *key, char *base, unsigned int *num, size_t size, int (*cmp)());
  80. extern    char    *lsearch(char *key, char *base, unsigned int *num, size_t size, int (*cmp)());
  81. extern    void    shell(void);
  82.  
  83. extern    char    *detab(char *string, size_t tabsize);
  84. extern    char    *entab(char *string, size_t tabsize);
  85.  
  86. /* MiNT unixmode specials */
  87. extern    int    _unixmode_slash(void);
  88. extern    int    _unixmode_root(void);
  89. extern    int    _unixmode_bin(void);
  90.  
  91. /* stdio extensions, see end of file stdio.h    */
  92.  
  93.  
  94. #endif /* _SUPPORT_H */
  95.